[INFO] fetching crate arona 0.0.1...
[INFO] testing arona-0.0.1 against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] extracting crate arona 0.0.1 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate arona 0.0.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate arona 0.0.1
[INFO] tweaked toml for crates.io crate arona 0.0.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate arona 0.0.1 on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate arona 0.0.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded akari v0.2.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a35cd48f15747976f37cee653b59eb72ca6388d85d7af2704f16995d06ce9da8
[INFO] running `Command { std: "docker" "start" "-a" "a35cd48f15747976f37cee653b59eb72ca6388d85d7af2704f16995d06ce9da8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a35cd48f15747976f37cee653b59eb72ca6388d85d7af2704f16995d06ce9da8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a35cd48f15747976f37cee653b59eb72ca6388d85d7af2704f16995d06ce9da8", kill_on_drop: false }`
[INFO] [stdout] a35cd48f15747976f37cee653b59eb72ca6388d85d7af2704f16995d06ce9da8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2f1786109e3c83a3109424dc647d4f5229c58fb299404316fff6212d52f93d04
[INFO] running `Command { std: "docker" "start" "-a" "2f1786109e3c83a3109424dc647d4f5229c58fb299404316fff6212d52f93d04", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.50
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling akari v0.2.7
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling arona v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Question` and `Score`
[INFO] [stdout]    --> src/estimation/mle.rs:100:34
[INFO] [stdout]     |
[INFO] [stdout] 100 | use crate::core::{IRTParameters, Question, Score, SessionState, StandardError};
[INFO] [stdout]     |                                  ^^^^^^^^  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Question` and `Score`
[INFO] [stdout]   --> src/estimation/traits.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::core::{Question, Score, SessionState, StandardError};
[INFO] [stdout]    |                   ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q_safe`
[INFO] [stdout]    --> src/estimation/mle.rs:249:17
[INFO] [stdout]     |
[INFO] [stdout] 249 |             let q_safe = q.clamp(0.0001, 0.9999);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_q_safe`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub mod primitive_wrapper;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             pub struct $name(pub f64);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |                 pub fn powi(self, n: i32) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 pub fn exp(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 pub fn sqrt(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 pub fn abs(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 pub fn floor(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 pub fn ceil(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 pub fn round(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 pub fn ln(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 pub fn log10(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 pub fn sin(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 pub fn cos(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 pub fn tan(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             pub struct $name(pub f64);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |                 pub fn powi(self, n: i32) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 pub fn exp(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 pub fn sqrt(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 pub fn abs(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 pub fn floor(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 pub fn ceil(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 pub fn round(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 pub fn ln(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 pub fn log10(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 pub fn sin(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 pub fn cos(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 pub fn tan(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod numeric_ops;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod wrap_char;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod wrap_f32;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod wrap_f64;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod wrap_i128;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod wrap_i32;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod wrap_i64;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod wrap_isize;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/primitive_wrapper/mod.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod wrap_u128;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/primitive_wrapper/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod wrap_u32;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/primitive_wrapper/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod wrap_u64;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/primitive_wrapper/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod wrap_usize;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             pub struct $name(pub f64);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |                 pub fn powi(self, n: i32) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 pub fn exp(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 pub fn sqrt(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 pub fn abs(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 pub fn floor(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 pub fn ceil(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 pub fn round(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 pub fn ln(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 pub fn log10(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 pub fn sin(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 pub fn cos(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 pub fn tan(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/selection/hints.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub field: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/selection/selectors/mod.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub mod fallback_chain;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.19s
[INFO] running `Command { std: "docker" "inspect" "2f1786109e3c83a3109424dc647d4f5229c58fb299404316fff6212d52f93d04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2f1786109e3c83a3109424dc647d4f5229c58fb299404316fff6212d52f93d04", kill_on_drop: false }`
[INFO] [stdout] 2f1786109e3c83a3109424dc647d4f5229c58fb299404316fff6212d52f93d04
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3196ab5262be41b305d3654df61dd58f35fc9dd331f2a5def1cd7a9becf107d1
[INFO] running `Command { std: "docker" "start" "-a" "3196ab5262be41b305d3654df61dd58f35fc9dd331f2a5def1cd7a9becf107d1", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.50
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.50
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling arona v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Question` and `Score`
[INFO] [stdout]    --> src/estimation/mle.rs:100:34
[INFO] [stdout]     |
[INFO] [stdout] 100 | use crate::core::{IRTParameters, Question, Score, SessionState, StandardError};
[INFO] [stdout]     |                                  ^^^^^^^^  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Question` and `Score`
[INFO] [stdout]   --> src/estimation/traits.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::core::{Question, Score, SessionState, StandardError};
[INFO] [stdout]    |                   ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stdout] warning: unused variable: `q_safe`
[INFO] [stdout]    --> src/estimation/mle.rs:249:17
[INFO] [stdout]     |
[INFO] [stdout] 249 |             let q_safe = q.clamp(0.0001, 0.9999);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_q_safe`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub mod primitive_wrapper;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             pub struct $name(pub f64);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |                 pub fn powi(self, n: i32) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 pub fn exp(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 pub fn sqrt(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 pub fn abs(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 pub fn floor(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 pub fn ceil(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 pub fn round(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 pub fn ln(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 pub fn log10(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 pub fn sin(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 pub fn cos(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 pub fn tan(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             pub struct $name(pub f64);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |                 pub fn powi(self, n: i32) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 pub fn exp(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 pub fn sqrt(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 pub fn abs(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 pub fn floor(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 pub fn ceil(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 pub fn round(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 pub fn ln(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 pub fn log10(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 pub fn sin(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 pub fn cos(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 pub fn tan(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod numeric_ops;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod wrap_char;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod wrap_f32;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod wrap_f64;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod wrap_i128;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod wrap_i32;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod wrap_i64;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod wrap_isize;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/primitive_wrapper/mod.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod wrap_u128;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/primitive_wrapper/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod wrap_u32;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/primitive_wrapper/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod wrap_u64;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/primitive_wrapper/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod wrap_usize;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             pub struct $name(pub f64);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |                 pub fn powi(self, n: i32) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 pub fn exp(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 pub fn sqrt(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 pub fn abs(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 pub fn floor(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 pub fn ceil(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 pub fn round(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 pub fn ln(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 pub fn log10(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 pub fn sin(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 pub fn cos(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 pub fn tan(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/selection/hints.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub field: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/selection/selectors/mod.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub mod fallback_chain;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaxInfoParams` is never constructed
[INFO] [stdout]    --> tests/proposal_qbank_error_test.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 |     struct MaxInfoParams {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QuestionBank`
[INFO] [stdout]   --> tests/test_session.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use arona::qbank::{QuestionBank, StaticQBank};
[INFO] [stdout]    |                    ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Terminator`
[INFO] [stdout]   --> examples/interactive_demo.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     Terminator,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AbilityEstimator`
[INFO] [stdout]  --> tests/test_session.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use arona::estimation::{AbilityEstimator, MLEEstimator, SimpleAverage};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `arona::content::QuestionContent`
[INFO] [stdout]  --> tests/test_session.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use arona::content::QuestionContent;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_session.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_session.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 172 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_session.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_session.rs:363:9
[INFO] [stdout]     |
[INFO] [stdout] 363 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_session.rs:389:9
[INFO] [stdout]     |
[INFO] [stdout] 389 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_session.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_session.rs:447:9
[INFO] [stdout]     |
[INFO] [stdout] 447 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_session.rs:529:9
[INFO] [stdout]     |
[INFO] [stdout] 529 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/test_estimators.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let mut estimator = SimpleAverage::new(Ability(0.0));
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_session.rs:890:9
[INFO] [stdout]     |
[INFO] [stdout] 890 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_selectors.rs:439:9
[INFO] [stdout]     |
[INFO] [stdout] 439 |     let mut state = SessionState::new(Ability(0.0));
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/proposal_session_validation_test.rs:464:9
[INFO] [stdout]     |
[INFO] [stdout] 464 |     let mut session = MockSession::new(Box::new(bank), Ability(0.0));
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Question` and `Score`
[INFO] [stdout]   --> src/estimation/traits.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 | use crate::core::{Question, Score, SessionState, StandardError};
[INFO] [stdout]    |                   ^^^^^^^^  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QuestionContent` and `RenderFormat`
[INFO] [stdout]    --> src/session/session.rs:698:42
[INFO] [stdout]     |
[INFO] [stdout] 698 |     use crate::content::{MultipleChoice, QuestionContent, RenderFormat};
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QBankStats`
[INFO] [stdout]    --> src/session/session.rs:702:36
[INFO] [stdout]     |
[INFO] [stdout] 702 |     use crate::qbank::{QBankError, QBankStats, QuestionBank, StaticQBank};
[INFO] [stdout]     |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `questions` is never read
[INFO] [stdout]    --> tests/proposal_qbank_source_sink_test.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 431 |     struct CoreOnlyBank {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 432 |         questions: Vec<MockQuestion>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ability`
[INFO] [stdout]   --> tests/test_exports.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let ability = Ability(0.0);
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QuestionBank`
[INFO] [stdout]    --> src/session/session.rs:702:48
[INFO] [stdout]     |
[INFO] [stdout] 702 |     use crate::qbank::{QBankError, QBankStats, QuestionBank, StaticQBank};
[INFO] [stdout]     |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AbilityEstimator`
[INFO] [stdout]    --> src/session/session.rs:700:29
[INFO] [stdout]     |
[INFO] [stdout] 700 |     use crate::estimation::{AbilityEstimator, EAPEstimator, MLEEstimator};
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `q_safe`
[INFO] [stdout]    --> src/estimation/mle.rs:249:17
[INFO] [stdout]     |
[INFO] [stdout] 249 |             let q_safe = q.clamp(0.0001, 0.9999);
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_q_safe`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/session/session.rs:1169:21
[INFO] [stdout]      |
[INFO] [stdout] 1169 |                 let mut hints = SelectionHints::new(Ability(1.5));
[INFO] [stdout]      |                     ----^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `approx_eq` is never used
[INFO] [stdout]    --> src/estimation/mle.rs:409:8
[INFO] [stdout]     |
[INFO] [stdout] 409 |     fn approx_eq(a: f64, b: f64, tolerance: f64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tolerance` is never read
[INFO] [stdout]    --> src/selection/hints.rs:405:13
[INFO] [stdout]     |
[INFO] [stdout] 404 |         struct MaxInfoParams {
[INFO] [stdout]     |                ------------- field in this struct
[INFO] [stdout] 405 |             tolerance: f64,
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MaxInfoParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `range` is never read
[INFO] [stdout]    --> src/selection/hints.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 409 |         struct NearestDiffParams {
[INFO] [stdout]     |                ----------------- field in this struct
[INFO] [stdout] 410 |             range: f64,
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NearestDiffParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tolerance` is never read
[INFO] [stdout]    --> src/selection/hints.rs:434:13
[INFO] [stdout]     |
[INFO] [stdout] 433 |         struct MaxInfoParams {
[INFO] [stdout]     |                ------------- field in this struct
[INFO] [stdout] 434 |             tolerance: f64,
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MaxInfoParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:23:1
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub mod primitive_wrapper;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             pub struct $name(pub f64);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |                 pub fn powi(self, n: i32) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 pub fn exp(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 pub fn sqrt(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 pub fn abs(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 pub fn floor(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 pub fn ceil(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 pub fn round(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 pub fn ln(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 pub fn log10(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 pub fn sin(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 pub fn cos(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 pub fn tan(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/score.rs:58:1
[INFO] [stdout]    |
[INFO] [stdout] 58 | wrap_f64!(Score);
[INFO] [stdout]    | ---------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             pub struct $name(pub f64);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |                 pub fn powi(self, n: i32) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 pub fn exp(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 pub fn sqrt(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 pub fn abs(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 pub fn floor(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 pub fn ceil(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 pub fn round(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 pub fn ln(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 pub fn log10(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 pub fn sin(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 pub fn cos(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 pub fn tan(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/standard_error.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | wrap_f64!(StandardError);
[INFO] [stdout]    | ------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod numeric_ops;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod wrap_char;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod wrap_f32;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod wrap_f64;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod wrap_i128;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod wrap_i32;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod wrap_i64;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/primitive_wrapper/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod wrap_isize;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/primitive_wrapper/mod.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod wrap_u128;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/primitive_wrapper/mod.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub mod wrap_u32;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/primitive_wrapper/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod wrap_u64;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/primitive_wrapper/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod wrap_usize;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |             pub struct $name(pub f64);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 |                 pub fn powi(self, n: i32) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 pub fn exp(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 pub fn sqrt(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 29 |                 pub fn abs(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 pub fn floor(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 pub fn ceil(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 pub fn round(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 pub fn ln(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:54:17
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 pub fn log10(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 pub fn sin(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:64:17
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 pub fn cos(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/primitive_wrapper/wrap_f64.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |                 pub fn tan(self) -> f64 {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stdout]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/selection/hints.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub field: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/selection/selectors/mod.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub mod fallback_chain;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 21.25s
[INFO] running `Command { std: "docker" "inspect" "3196ab5262be41b305d3654df61dd58f35fc9dd331f2a5def1cd7a9becf107d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3196ab5262be41b305d3654df61dd58f35fc9dd331f2a5def1cd7a9becf107d1", kill_on_drop: false }`
[INFO] [stdout] 3196ab5262be41b305d3654df61dd58f35fc9dd331f2a5def1cd7a9becf107d1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 87a5d1d7a0d64271232086d4ea06cf8e6ea1012d9c5ebefe016d066529c1197e
[INFO] running `Command { std: "docker" "start" "-a" "87a5d1d7a0d64271232086d4ea06cf8e6ea1012d9c5ebefe016d066529c1197e", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Question` and `Score`
[INFO] [stderr]    --> src/estimation/mle.rs:100:34
[INFO] [stderr]     |
[INFO] [stderr] 100 | use crate::core::{IRTParameters, Question, Score, SessionState, StandardError};
[INFO] [stderr]     |                                  ^^^^^^^^  ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Question` and `Score`
[INFO] [stderr]   --> src/estimation/traits.rs:28:19
[INFO] [stderr]    |
[INFO] [stderr] 28 | use crate::core::{Question, Score, SessionState, StandardError};
[INFO] [stderr]    |                   ^^^^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `q_safe`
[INFO] [stderr]    --> src/estimation/mle.rs:249:17
[INFO] [stderr]     |
[INFO] [stderr] 249 |             let q_safe = q.clamp(0.0001, 0.9999);
[INFO] [stderr]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_q_safe`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/lib.rs:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub mod primitive_wrapper;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:17:9
[INFO] [stderr]    |
[INFO] [stderr] 17 | #![warn(missing_docs)]
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:10:13
[INFO] [stderr]    |
[INFO] [stderr] 10 |             pub struct $name(pub f64);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/score.rs:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | wrap_f64!(Score);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:14:17
[INFO] [stderr]    |
[INFO] [stderr] 14 |                 pub fn powi(self, n: i32) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/score.rs:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | wrap_f64!(Score);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:19:17
[INFO] [stderr]    |
[INFO] [stderr] 19 |                 pub fn exp(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/score.rs:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | wrap_f64!(Score);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:24:17
[INFO] [stderr]    |
[INFO] [stderr] 24 |                 pub fn sqrt(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/score.rs:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | wrap_f64!(Score);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:29:17
[INFO] [stderr]    |
[INFO] [stderr] 29 |                 pub fn abs(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/score.rs:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | wrap_f64!(Score);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:34:17
[INFO] [stderr]    |
[INFO] [stderr] 34 |                 pub fn floor(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/score.rs:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | wrap_f64!(Score);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:39:17
[INFO] [stderr]    |
[INFO] [stderr] 39 |                 pub fn ceil(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/score.rs:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | wrap_f64!(Score);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:44:17
[INFO] [stderr]    |
[INFO] [stderr] 44 |                 pub fn round(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/score.rs:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | wrap_f64!(Score);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:49:17
[INFO] [stderr]    |
[INFO] [stderr] 49 |                 pub fn ln(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/score.rs:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | wrap_f64!(Score);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:54:17
[INFO] [stderr]    |
[INFO] [stderr] 54 |                 pub fn log10(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/score.rs:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | wrap_f64!(Score);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:59:17
[INFO] [stderr]    |
[INFO] [stderr] 59 |                 pub fn sin(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/score.rs:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | wrap_f64!(Score);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:64:17
[INFO] [stderr]    |
[INFO] [stderr] 64 |                 pub fn cos(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/score.rs:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | wrap_f64!(Score);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:69:17
[INFO] [stderr]    |
[INFO] [stderr] 69 |                 pub fn tan(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/score.rs:58:1
[INFO] [stderr]    |
[INFO] [stderr] 58 | wrap_f64!(Score);
[INFO] [stderr]    | ---------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:10:13
[INFO] [stderr]    |
[INFO] [stderr] 10 |             pub struct $name(pub f64);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/standard_error.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | wrap_f64!(StandardError);
[INFO] [stderr]    | ------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:14:17
[INFO] [stderr]    |
[INFO] [stderr] 14 |                 pub fn powi(self, n: i32) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/standard_error.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | wrap_f64!(StandardError);
[INFO] [stderr]    | ------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:19:17
[INFO] [stderr]    |
[INFO] [stderr] 19 |                 pub fn exp(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/standard_error.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | wrap_f64!(StandardError);
[INFO] [stderr]    | ------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:24:17
[INFO] [stderr]    |
[INFO] [stderr] 24 |                 pub fn sqrt(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/standard_error.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | wrap_f64!(StandardError);
[INFO] [stderr]    | ------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:29:17
[INFO] [stderr]    |
[INFO] [stderr] 29 |                 pub fn abs(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/standard_error.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | wrap_f64!(StandardError);
[INFO] [stderr]    | ------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:34:17
[INFO] [stderr]    |
[INFO] [stderr] 34 |                 pub fn floor(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/standard_error.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | wrap_f64!(StandardError);
[INFO] [stderr]    | ------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:39:17
[INFO] [stderr]    |
[INFO] [stderr] 39 |                 pub fn ceil(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/standard_error.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | wrap_f64!(StandardError);
[INFO] [stderr]    | ------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:44:17
[INFO] [stderr]    |
[INFO] [stderr] 44 |                 pub fn round(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/standard_error.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | wrap_f64!(StandardError);
[INFO] [stderr]    | ------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:49:17
[INFO] [stderr]    |
[INFO] [stderr] 49 |                 pub fn ln(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/standard_error.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | wrap_f64!(StandardError);
[INFO] [stderr]    | ------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:54:17
[INFO] [stderr]    |
[INFO] [stderr] 54 |                 pub fn log10(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/standard_error.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | wrap_f64!(StandardError);
[INFO] [stderr]    | ------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:59:17
[INFO] [stderr]    |
[INFO] [stderr] 59 |                 pub fn sin(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/standard_error.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | wrap_f64!(StandardError);
[INFO] [stderr]    | ------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:64:17
[INFO] [stderr]    |
[INFO] [stderr] 64 |                 pub fn cos(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/standard_error.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | wrap_f64!(StandardError);
[INFO] [stderr]    | ------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:69:17
[INFO] [stderr]    |
[INFO] [stderr] 69 |                 pub fn tan(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/core/standard_error.rs:59:1
[INFO] [stderr]    |
[INFO] [stderr] 59 | wrap_f64!(StandardError);
[INFO] [stderr]    | ------------------------ in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/primitive_wrapper/mod.rs:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub mod numeric_ops;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/primitive_wrapper/mod.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub mod wrap_char;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/primitive_wrapper/mod.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub mod wrap_f32;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/primitive_wrapper/mod.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub mod wrap_f64;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/primitive_wrapper/mod.rs:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub mod wrap_i128;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/primitive_wrapper/mod.rs:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub mod wrap_i32;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/primitive_wrapper/mod.rs:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub mod wrap_i64;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]  --> src/primitive_wrapper/mod.rs:9:1
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub mod wrap_isize;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/primitive_wrapper/mod.rs:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub mod wrap_u128;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/primitive_wrapper/mod.rs:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub mod wrap_u32;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/primitive_wrapper/mod.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub mod wrap_u64;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/primitive_wrapper/mod.rs:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub mod wrap_usize;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:10:13
[INFO] [stderr]    |
[INFO] [stderr] 10 |             pub struct $name(pub f64);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stderr]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:14:17
[INFO] [stderr]    |
[INFO] [stderr] 14 |                 pub fn powi(self, n: i32) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stderr]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:19:17
[INFO] [stderr]    |
[INFO] [stderr] 19 |                 pub fn exp(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stderr]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:24:17
[INFO] [stderr]    |
[INFO] [stderr] 24 |                 pub fn sqrt(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stderr]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:29:17
[INFO] [stderr]    |
[INFO] [stderr] 29 |                 pub fn abs(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stderr]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:34:17
[INFO] [stderr]    |
[INFO] [stderr] 34 |                 pub fn floor(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stderr]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:39:17
[INFO] [stderr]    |
[INFO] [stderr] 39 |                 pub fn ceil(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stderr]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:44:17
[INFO] [stderr]    |
[INFO] [stderr] 44 |                 pub fn round(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stderr]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:49:17
[INFO] [stderr]    |
[INFO] [stderr] 49 |                 pub fn ln(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stderr]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:54:17
[INFO] [stderr]    |
[INFO] [stderr] 54 |                 pub fn log10(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stderr]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:59:17
[INFO] [stderr]    |
[INFO] [stderr] 59 |                 pub fn sin(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stderr]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:64:17
[INFO] [stderr]    |
[INFO] [stderr] 64 |                 pub fn cos(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stderr]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/primitive_wrapper/wrap_f64.rs:69:17
[INFO] [stderr]    |
[INFO] [stderr] 69 |                 pub fn tan(self) -> f64 {
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/primitive_wrapper/irt_params.rs:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | wrap_f64!(Discrimination, Difficulty, GuessingParam, Ability);
[INFO] [stderr]    | ------------------------------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `wrap_f64` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/selection/hints.rs:219:5
[INFO] [stderr]     |
[INFO] [stderr] 219 |     pub field: String,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/selection/selectors/mod.rs:50:1
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub mod fallback_chain;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `arona` (lib) generated 57 warnings (run `cargo fix --lib -p arona` to apply 3 suggestions)
[INFO] [stderr] warning: unused import: `Terminator`
[INFO] [stderr]   --> examples/interactive_demo.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 |     Terminator,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_estimators.rs:83:9
[INFO] [stderr]    |
[INFO] [stderr] 83 |     let mut estimator = SimpleAverage::new(Ability(0.0));
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Question` and `Score`
[INFO] [stderr]   --> src/estimation/traits.rs:28:19
[INFO] [stderr]    |
[INFO] [stderr] 28 | use crate::core::{Question, Score, SessionState, StandardError};
[INFO] [stderr]    |                   ^^^^^^^^  ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `QuestionContent` and `RenderFormat`
[INFO] [stderr]    --> src/session/session.rs:698:42
[INFO] [stderr]     |
[INFO] [stderr] 698 |     use crate::content::{MultipleChoice, QuestionContent, RenderFormat};
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `QBankStats`
[INFO] [stderr]    --> src/session/session.rs:702:36
[INFO] [stderr]     |
[INFO] [stderr] 702 |     use crate::qbank::{QBankError, QBankStats, QuestionBank, StaticQBank};
[INFO] [stderr]     |                                    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `QuestionBank`
[INFO] [stderr]    --> src/session/session.rs:702:48
[INFO] [stderr]     |
[INFO] [stderr] 702 |     use crate::qbank::{QBankError, QBankStats, QuestionBank, StaticQBank};
[INFO] [stderr]     |                                                ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AbilityEstimator`
[INFO] [stderr]    --> src/session/session.rs:700:29
[INFO] [stderr]     |
[INFO] [stderr] 700 |     use crate::estimation::{AbilityEstimator, EAPEstimator, MLEEstimator};
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/session/session.rs:1169:21
[INFO] [stderr]      |
[INFO] [stderr] 1169 |                 let mut hints = SelectionHints::new(Ability(1.5));
[INFO] [stderr]      |                     ----^^^^^
[INFO] [stderr]      |                     |
[INFO] [stderr]      |                     help: remove this `mut`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `approx_eq` is never used
[INFO] [stderr]    --> src/estimation/mle.rs:409:8
[INFO] [stderr]     |
[INFO] [stderr] 409 |     fn approx_eq(a: f64, b: f64, tolerance: f64) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `tolerance` is never read
[INFO] [stderr]    --> src/selection/hints.rs:405:13
[INFO] [stderr]     |
[INFO] [stderr] 404 |         struct MaxInfoParams {
[INFO] [stderr]     |                ------------- field in this struct
[INFO] [stderr] 405 |             tolerance: f64,
[INFO] [stderr]     |             ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MaxInfoParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `range` is never read
[INFO] [stderr]    --> src/selection/hints.rs:410:13
[INFO] [stderr]     |
[INFO] [stderr] 409 |         struct NearestDiffParams {
[INFO] [stderr]     |                ----------------- field in this struct
[INFO] [stderr] 410 |             range: f64,
[INFO] [stderr]     |             ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `NearestDiffParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `tolerance` is never read
[INFO] [stderr]    --> src/selection/hints.rs:434:13
[INFO] [stderr]     |
[INFO] [stderr] 433 |         struct MaxInfoParams {
[INFO] [stderr]     |                ------------- field in this struct
[INFO] [stderr] 434 |             tolerance: f64,
[INFO] [stderr]     |             ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MaxInfoParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `questions` is never read
[INFO] [stderr]    --> tests/proposal_qbank_source_sink_test.rs:432:9
[INFO] [stderr]     |
[INFO] [stderr] 431 |     struct CoreOnlyBank {
[INFO] [stderr]     |            ------------ field in this struct
[INFO] [stderr] 432 |         questions: Vec<MockQuestion>,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ability`
[INFO] [stderr]   --> tests/test_exports.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |     let ability = Ability(0.0);
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ability`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_selectors.rs:439:9
[INFO] [stderr]     |
[INFO] [stderr] 439 |     let mut state = SessionState::new(Ability(0.0));
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/proposal_session_validation_test.rs:464:9
[INFO] [stderr]     |
[INFO] [stderr] 464 |     let mut session = MockSession::new(Box::new(bank), Ability(0.0));
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `QuestionBank`
[INFO] [stderr]   --> tests/test_session.rs:11:20
[INFO] [stderr]    |
[INFO] [stderr] 11 | use arona::qbank::{QuestionBank, StaticQBank};
[INFO] [stderr]    |                    ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AbilityEstimator`
[INFO] [stderr]  --> tests/test_session.rs:9:25
[INFO] [stderr]   |
[INFO] [stderr] 9 | use arona::estimation::{AbilityEstimator, MLEEstimator, SimpleAverage};
[INFO] [stderr]   |                         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `arona::content::QuestionContent`
[INFO] [stderr]  --> tests/test_session.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use arona::content::QuestionContent;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_session.rs:151:9
[INFO] [stderr]     |
[INFO] [stderr] 151 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_session.rs:172:9
[INFO] [stderr]     |
[INFO] [stderr] 172 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_session.rs:201:9
[INFO] [stderr]     |
[INFO] [stderr] 201 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_session.rs:363:9
[INFO] [stderr]     |
[INFO] [stderr] 363 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_session.rs:389:9
[INFO] [stderr]     |
[INFO] [stderr] 389 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_session.rs:417:9
[INFO] [stderr]     |
[INFO] [stderr] 417 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_session.rs:447:9
[INFO] [stderr]     |
[INFO] [stderr] 447 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_session.rs:529:9
[INFO] [stderr]     |
[INFO] [stderr] 529 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_session.rs:890:9
[INFO] [stderr]     |
[INFO] [stderr] 890 |     let mut session = Session::new(selector, bank, estimator, terminator, Ability(0.0));
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `arona` (example "interactive_demo") generated 1 warning
[INFO] [stderr] warning: `arona` (test "test_estimators") generated 1 warning (run `cargo fix --test "test_estimators" -p arona` to apply 1 suggestion)
[INFO] [stderr] warning: `arona` (lib test) generated 65 warnings (55 duplicates) (run `cargo fix --lib -p arona --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `arona` (test "proposal_qbank_source_sink_test") generated 1 warning
[INFO] [stderr] warning: `arona` (test "test_exports") generated 1 warning (run `cargo fix --test "test_exports" -p arona` to apply 1 suggestion)
[INFO] [stderr] warning: `arona` (test "test_selectors") generated 1 warning (run `cargo fix --test "test_selectors" -p arona` to apply 1 suggestion)
[INFO] [stderr] warning: `arona` (test "proposal_session_validation_test") generated 1 warning (run `cargo fix --test "proposal_session_validation_test" -p arona` to apply 1 suggestion)
[INFO] [stderr] warning: `arona` (test "test_session") generated 12 warnings (run `cargo fix --test "test_session" -p arona` to apply 10 suggestions)
[INFO] [stderr] warning: struct `MaxInfoParams` is never constructed
[INFO] [stderr]    --> tests/proposal_qbank_error_test.rs:192:12
[INFO] [stderr]     |
[INFO] [stderr] 192 |     struct MaxInfoParams {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `arona` (test "proposal_qbank_error_test") generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/arona-10d09961301d0767)
[INFO] [stdout] 
[INFO] [stdout] running 384 tests
[INFO] [stdout] test content::multiple_choice::tests::test_correct_scoring ... ok
[INFO] [stdout] test content::traits::tests::test_render_format_variants ... ok
[INFO] [stdout] test content::traits::tests::test_trait_object_creation ... ok
[INFO] [stdout] test core::irt::tests::test_1pl_ignores_discrimination ... ok
[INFO] [stdout] test core::irt::tests::test_2pl_vs_3pl ... ok
[INFO] [stdout] test content::multiple_choice::tests::test_invalid_answer_format ... ok
[INFO] [stdout] test core::irt::tests::test_3pl_probability ... ok
[INFO] [stdout] test core::question::tests::test_information_delegation ... ok
[INFO] [stdout] test core::question::tests::test_question_construction ... ok
[INFO] [stdout] test core::response::tests::test_response_stores_fields ... ok
[INFO] [stdout] test core::score::tests::test_is_correct_threshold ... ok
[INFO] [stdout] test core::score::tests::test_score_boundary_values ... ok
[INFO] [stdout] test core::response::tests::test_response_clone_preserves_timestamp ... ok
[INFO] [stdout] test core::response::tests::test_response_new_auto_timestamp ... ok
[INFO] [stdout] test content::multiple_choice::tests::test_guessing_prob ... ok
[INFO] [stdout] test core::score::tests::test_score_construction ... ok
[INFO] [stdout] test core::irt::tests::test_construction ... ok
[INFO] [stdout] test core::question::tests::test_clone_content ... ok
[INFO] [stdout] test core::question::tests::test_probability_delegation ... ok
[INFO] [stdout] test core::standard_error::tests::test_is_precise ... ok
[INFO] [stdout] test core::score::tests::test_value_method ... ok
[INFO] [stdout] test core::session_state::tests::test_clone ... ok
[INFO] [stdout] test estimation::eap::tests::eap_all_correct_positive ... ok
[INFO] [stdout] test core::standard_error::tests::test_new_valid_values ... ok
[INFO] [stdout] test core::standard_error::tests::test_partial_ord ... ok
[INFO] [stdout] test core::session_state::tests::test_duration_immediate ... ok
[INFO] [stdout] test core::session_state::tests::test_response_count ... ok
[INFO] [stdout] test estimation::eap::tests::eap_mixed_near_zero ... ok
[INFO] [stdout] test core::standard_error::tests::test_initial_not_precise ... ok
[INFO] [stdout] test estimation::eap::tests::eap_se_decreases_with_more_items ... ok
[INFO] [stdout] test estimation::mle::tests::test_convergence ... ok
[INFO] [stdout] test estimation::mle::tests::test_initial_standard_error ... ok
[INFO] [stdout] test estimation::mle::tests::test_damping_clamping ... ok
[INFO] [stdout] test core::session_state::tests::test_started_at_auto_set ... ok
[INFO] [stdout] test core::session_state::tests::test_new ... ok
[INFO] [stdout] test core::standard_error::tests::test_copy_trait ... ok
[INFO] [stdout] test core::standard_error::tests::test_initial ... ok
[INFO] [stdout] test estimation::mle::tests::test_multiple_updates ... ok
[INFO] [stdout] test estimation::mle::tests::test_new ... ok
[INFO] [stdout] test estimation::mle::tests::test_soft_bounds ... ok
[INFO] [stdout] test estimation::mle::tests::test_extreme_ability_detection ... ok
[INFO] [stdout] test estimation::mle::tests::test_standard_error_decreases ... ok
[INFO] [stdout] test estimation::mle::tests::test_update_correct_answer ... ok
[INFO] [stdout] test estimation::mle::tests::test_update_incorrect_answer ... ok
[INFO] [stdout] test estimation::eap::tests::eap_all_incorrect_negative ... ok
[INFO] [stdout] test estimation::mle::tests::test_with_damping ... ok
[INFO] [stdout] test estimation::simple_average::tests::test_discrimination_weights_responses ... ok
[INFO] [stdout] test estimation::simple_average::tests::test_difficulty_shifts_estimate ... ok
[INFO] [stdout] test estimation::simple_average::tests::test_extreme_ability_not_clamped ... ok
[INFO] [stdout] test estimation::simple_average::tests::test_initial_state ... ok
[INFO] [stdout] test estimation::simple_average::tests::test_minimum_se_enforced ... ok
[INFO] [stdout] test estimation::simple_average::tests::test_mixed_responses ... ok
[INFO] [stdout] test estimation::simple_average::tests::test_se_calculation ... ok
[INFO] [stdout] test estimation::simple_average::tests::test_single_correct_response ... ok
[INFO] [stdout] test primitive_wrapper::irt_params::tests::test_ability_always_valid ... ok
[INFO] [stdout] test primitive_wrapper::irt_params::tests::test_difficulty_validation ... ok
[INFO] [stdout] test estimation::simple_average::tests::test_standard_error_decreases ... ok
[INFO] [stdout] test qbank::persistence::tests::test_from_source_round_trip ... ok
[INFO] [stdout] test estimation::simple_average::tests::test_name ... ok
[INFO] [stdout] test primitive_wrapper::irt_params::tests::test_ability_arithmetic_operations ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_detects_max_info_strategy ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_defaults_to_random_when_no_params ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_fallback_chain_exhaustion_handling ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_detects_nearest_diff_strategy ... ok
[INFO] [stdout] test primitive_wrapper::irt_params::tests::test_discrimination_validation ... ok
[INFO] [stdout] test qbank::persistence::tests::test_to_sink_returns_value ... ok
[INFO] [stdout] test estimation::simple_average::tests::test_single_incorrect_response ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_extreme_ability_progressive_relaxation ... ok
[INFO] [stdout] test primitive_wrapper::irt_params::tests::test_ability_add ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_max_info_filters_by_discrimination ... ok
[INFO] [stdout] test primitive_wrapper::irt_params::tests::test_guessing_validation ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_max_info_respects_tolerance ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_empty_hints_uses_random ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_max_info_requires_ability ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_max_info_skips_used_questions ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_max_info_selects_highest_information ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_nearest_diff_no_questions_in_range_fallback ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_nearest_diff_ignores_discrimination ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_nearest_diff_respects_range ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_nearest_diff_requires_ability ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_new_empty ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_nearest_diff_skips_used_questions ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_new_with_questions ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_nearest_diff_selects_closest ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_random_exhausts_bank ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_reset_allows_reselection ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_reset_exhausted ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_select_question_empty_bank ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_random_uniform_distribution ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_reset_partially_used ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_reset_unused_bank ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_random_selects_from_unused ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_max_info_fallback_to_nearest_difficulty ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_reset_idempotent ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_select_index_tracks_last_selected_index ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_select_question_exhaustion ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_select_question_returns_clone ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_select_question_single ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_stats_empty_bank ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_stats_exhausted ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_stats_single_question ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_reset_empty_bank ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_stats_multiple_questions ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_validate_hints_err_when_exhausted ... ok
[INFO] [stdout] test qbank::traits::tests::test_qbank_error_clone ... ok
[INFO] [stdout] test qbank::traits::tests::test_qbank_error_display_invalid_value ... ok
[INFO] [stdout] test qbank::traits::tests::test_qbank_error_display_missing_param ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_validate_hints_ok_when_available ... ok
[INFO] [stdout] test qbank::traits::tests::test_qbank_error_display_no_question ... ok
[INFO] [stdout] test qbank::traits::tests::test_qbank_error_display_type_mismatch ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_clone ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_consistency_invariant ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_difficulty_range ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_discrimination_range ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_equality ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_inequality_different_counts ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_is_exhausted_true ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_is_exhausted_false ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_is_exhausted_unused ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_usage_ratio_empty_bank ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_usage_ratio_fractional ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_usage_ratio_full ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_usage_ratio_half ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_stats_after_selection ... ok
[INFO] [stdout] test qbank::traits::tests::test_qbank_error_equality ... ok
[INFO] [stdout] test qbank::traits::tests::test_stats_usage_ratio_zero ... ok
[INFO] [stdout] test qbank::traits::tests::test_qbank_error_implements_error_trait ... ok
[INFO] [stdout] test selection::hints::tests::test_add_param_after_creation ... ok
[INFO] [stdout] test selection::hints::tests::test_clone_preserves_params ... ok
[INFO] [stdout] test selection::hints::tests::test_ability_replacement ... ok
[INFO] [stdout] test selection::hints::tests::test_empty_no_ability ... ok
[INFO] [stdout] test qbank::static_bank::tests::test_select_question_tracks_indices ... ok
[INFO] [stdout] test selection::hints::tests::test_params_initially_empty_except_ability ... ok
[INFO] [stdout] test selection::hints::tests::test_empty_no_params ... ok
[INFO] [stdout] test selection::hints::tests::test_empty_params_pattern_matching ... ok
[INFO] [stdout] test selection::hints::tests::test_multiple_param_types ... ok
[INFO] [stdout] test selection::hints::tests::test_pattern_matching_workflow ... ok
[INFO] [stdout] test selection::hints::tests::test_new_basic ... ok
[INFO] [stdout] test selection::hints::tests::test_new_with_extreme_ability ... ok
[INFO] [stdout] test selection::hints::tests::test_realistic_max_info_params ... ok
[INFO] [stdout] test selection::hints::tests::test_remove_ability_by_creating_empty ... ok
[INFO] [stdout] test selection::hints::tests::test_realistic_nearest_diff_params ... ok
[INFO] [stdout] test selection::selectors::combine::tests::test_clone ... ok
[INFO] [stdout] test selection::selectors::combine::tests::test_as_trait_object ... ok
[INFO] [stdout] test selection::selectors::combine::tests::test_custom_transition_function ... ok
[INFO] [stdout] test selection::selectors::combine::tests::test_name ... ok
[INFO] [stdout] test selection::selectors::combine::tests::test_phase1_before_transition ... ok
[INFO] [stdout] test selection::selectors::combine::tests::test_transition_at_threshold ... ok
[INFO] [stdout] test selection::selectors::combine::tests::test_nested_combine_three_phases ... ok
[INFO] [stdout] test selection::selectors::fallback_chain::tests::test_fallback_to_random_when_no_difficulty ... ok
[INFO] [stdout] test selection::selectors::combine::tests::test_with_different_selector_types ... ok
[INFO] [stdout] test selection::selectors::fallback_chain::tests::test_debug_shows_chain_length ... ok
[INFO] [stdout] test selection::selectors::max_information::tests::test_clone ... ok
[INFO] [stdout] test selection::selectors::max_information::tests::test_name ... ok
[INFO] [stdout] test selection::selectors::max_information::tests::test_provide_hints_params_present ... ok
[INFO] [stdout] test selection::selectors::max_information::tests::test_provide_hints_target_ability ... ok
[INFO] [stdout] test selection::selectors::combine::tests::test_new_constructor ... ok
[INFO] [stdout] test selection::hints::tests::test_get_nonexistent_param ... ok
[INFO] [stdout] test selection::selectors::nearest_difficulty::tests::test_as_trait_object ... ok
[INFO] [stdout] test selection::hints::tests::test_param_replacement ... ok
[INFO] [stdout] test selection::selectors::max_information::tests::test_with_params ... ok
[INFO] [stdout] test selection::selectors::nearest_difficulty::tests::test_default_trait ... ok
[INFO] [stdout] test selection::selectors::nearest_difficulty::tests::test_name ... ok
[INFO] [stdout] test selection::selectors::nearest_difficulty::tests::test_clone ... ok
[INFO] [stdout] test selection::selectors::nearest_difficulty::tests::test_new_default_range ... ok
[INFO] [stdout] test selection::selectors::nearest_difficulty::tests::test_provide_hints_params_present ... ok
[INFO] [stdout] test selection::selectors::nearest_difficulty::tests::test_provide_hints_target_ability ... ok
[INFO] [stdout] test selection::selectors::nearest_difficulty::tests::test_provide_hints_with_extreme_ability ... ok
[INFO] [stdout] test selection::selectors::nearest_difficulty::tests::test_with_infinite_range ... ok
[INFO] [stdout] test selection::selectors::nearest_difficulty::tests::test_with_range ... ok
[INFO] [stdout] test selection::selectors::random::tests::test_as_trait_object ... ok
[INFO] [stdout] test core::standard_error::tests::test_new_negative_panics - should panic ... ok
[INFO] [stdout] test selection::selectors::random::tests::test_clone ... ok
[INFO] [stdout] test selection::selectors::random::tests::test_copy ... ok
[INFO] [stdout] test selection::selectors::random::tests::test_name ... ok
[INFO] [stdout] test selection::selectors::random::tests::test_provide_hints_no_params ... ok
[INFO] [stdout] test core::standard_error::tests::test_new_negative_small_panics - should panic ... ok
[INFO] [stdout] test core::score::tests::test_score_too_low - should panic ... ok
[INFO] [stdout] test core::score::tests::test_score_too_high - should panic ... ok
[INFO] [stdout] test selection::selectors::warmup::tests::test_as_trait_object ... ok
[INFO] [stdout] test selection::selectors::random::tests::test_provide_hints_target_ability ... ok
[INFO] [stdout] test selection::selectors::warmup::tests::test_clone ... ok
[INFO] [stdout] test selection::selectors::warmup::tests::test_into_combine ... ok
[INFO] [stdout] test selection::selectors::warmup::tests::test_boundary_response_count ... ok
[INFO] [stdout] test selection::selectors::random::tests::test_with_extreme_ability ... ok
[INFO] [stdout] test selection::selectors::random::tests::test_default_trait ... ok
[INFO] [stdout] test selection::selectors::warmup::tests::test_new_constructor ... ok
[INFO] [stdout] test selection::selectors::warmup::tests::test_warmup_phase_uses_random ... ok
[INFO] [stdout] test session::session::tests::test_error_submit_without_next_question ... ok
[INFO] [stdout] test session::session::tests::test_expected_remaining_from_terminator ... ok
[INFO] [stdout] test session::session::tests::test_finalize_consumes_session ... ok
[INFO] [stdout] test session::session::tests::test_finalize_default_termination_reason ... ok
[INFO] [stdout] test session::session::tests::test_finalize_returns_duration ... ok
[INFO] [stdout] test session::session::tests::test_finalize_returns_final_ability ... ok
[INFO] [stdout] test selection::selectors::warmup::tests::test_transition_at_warmup_count ... ok
[INFO] [stdout] test selection::selectors::warmup::tests::test_with_different_main_selector ... ok
[INFO] [stdout] test session::session::tests::test_error_double_submit ... ok
[INFO] [stdout] test session::session::tests::test_finalize_returns_responses ... ok
[INFO] [stdout] test session::session::tests::test_finalize_returns_standard_error ... ok
[INFO] [stdout] test session::session::tests::test_finalize_returns_termination_reason ... ok
[INFO] [stdout] test session::session::tests::test_has_current_question_initially_false ... ok
[INFO] [stdout] test session::session::tests::test_has_current_question_after_next_question ... ok
[INFO] [stdout] test session::session::tests::test_full_session_flow ... ok
[INFO] [stdout] test session::session::tests::test_finalize_returns_total_items ... ok
[INFO] [stdout] test session::session::tests::test_next_question_checks_termination_first ... ok
[INFO] [stdout] test session::session::tests::test_next_question_exposes_last_selected_index ... ok
[INFO] [stdout] test selection::selectors::warmup::tests::test_name ... ok
[INFO] [stdout] test session::session::tests::test_next_question_fails_after_finalize ... ok
[INFO] [stdout] test session::session::tests::test_next_question_fails_with_empty_qbank ... ok
[INFO] [stdout] test session::session::tests::test_next_question_gets_ability_from_estimator ... ok
[INFO] [stdout] test session::session::tests::test_next_question_returns_reference ... ok
[INFO] [stdout] test session::session::tests::test_next_question_success ... ok
[INFO] [stdout] test session::session::tests::test_next_question_uses_selector_hints ... ok
[INFO] [stdout] test session::session::tests::test_restore_recomputes_estimator_and_restores_current_question ... ok
[INFO] [stdout] test session::session::tests::test_session_ability_progression ... ok
[INFO] [stdout] test session::session::tests::test_session_components_are_boxed_trait_objects ... ok
[INFO] [stdout] test session::session::tests::test_next_question_multiple_times ... ok
[INFO] [stdout] test session::session::tests::test_session_current_question_initially_none ... ok
[INFO] [stdout] test session::session::tests::test_session_initial_state_invariants ... ok
[INFO] [stdout] test session::session::tests::test_next_question_stores_current_question ... ok
[INFO] [stdout] test session::session::tests::test_session_is_terminated_initially_false ... ok
[INFO] [stdout] test session::session::tests::test_session_new ... ok
[INFO] [stdout] test session::session::tests::test_session_new_state_auto_timestamp ... ok
[INFO] [stdout] test session::session::tests::test_session_state_access ... ok
[INFO] [stdout] test session::session::tests::test_session_new_with_custom_initial_ability ... ok
[INFO] [stdout] test session::session::tests::test_session_state_consistency ... ok
[INFO] [stdout] test session::session::tests::test_session_state_duration_initially_small ... ok
[INFO] [stdout] test session::session::tests::test_session_validate_empty_bank ... ok
[INFO] [stdout] test session::session::tests::test_session_validate_ok ... ok
[INFO] [stdout] test session::session::tests::test_session_with_empty_qbank ... ok
[INFO] [stdout] test session::session::tests::test_session_with_high_initial_ability ... ok
[INFO] [stdout] test session::session::tests::test_session_with_multiple_questions ... ok
[INFO] [stdout] test session::session::tests::test_session_with_negative_initial_ability ... ok
[INFO] [stdout] test session::session::tests::test_should_terminate_delegates_to_terminator ... ok
[INFO] [stdout] test session::session::tests::test_should_terminate_initially_false ... ok
[INFO] [stdout] test session::session::tests::test_should_terminate_after_finalize ... ok
[INFO] [stdout] test session::session::tests::test_submit_response_adds_to_state ... ok
[INFO] [stdout] test session::session::tests::test_session_with_termination ... ok
[INFO] [stdout] test session::session::tests::test_submit_response_calls_estimator_update ... ok
[INFO] [stdout] test session::session::tests::test_should_terminate_with_terminator_criteria ... ok
[INFO] [stdout] test session::session::tests::test_submit_response_clears_current_question ... ok
[INFO] [stdout] test session::session::tests::test_error_operations_after_termination ... ok
[INFO] [stdout] test session::session::tests::test_submit_response_fails_after_finalize ... ok
[INFO] [stdout] test content::multiple_choice::tests::test_basic_construction ... ok
[INFO] [stdout] test session::session::tests::test_submit_response_fails_without_next_question ... ok
[INFO] [stdout] test session::session::tests::test_submit_response_stores_answer ... ok
[INFO] [stdout] test session::session::tests::test_submit_response_success ... ok
[INFO] [stdout] test session::session::tests::test_submit_response_multiple_responses ... ok
[INFO] [stdout] test session::session::tests::test_submit_response_updates_response_ability_after ... ok
[INFO] [stdout] test session::tests::test_response_result_clone ... ok
[INFO] [stdout] test session::session::tests::test_submit_response_updates_ability ... ok
[INFO] [stdout] test session::tests::test_response_result_equality ... ok
[INFO] [stdout] test session::session::tests::test_submit_response_updates_standard_error ... ok
[INFO] [stdout] test session::tests::test_response_result_new_correct ... ok
[INFO] [stdout] test session::tests::test_response_result_new_incorrect ... ok
[INFO] [stdout] test session::tests::test_response_result_new_partial_credit_correct ... ok
[INFO] [stdout] test session::tests::test_response_result_new_partial_credit_incorrect ... ok
[INFO] [stdout] test session::tests::test_session_error_display_already_terminated ... ok
[INFO] [stdout] test session::tests::test_session_error_clone ... ok
[INFO] [stdout] test session::tests::test_session_error_display_no_current_question ... ok
[INFO] [stdout] test session::tests::test_session_error_from_qbank_error ... ok
[INFO] [stdout] test session::tests::test_session_error_equality ... ok
[INFO] [stdout] test session::tests::test_session_error_display_qbank_error ... ok
[INFO] [stdout] test session::tests::test_session_error_from_qbank_error_missing_param ... ok
[INFO] [stdout] test session::tests::test_session_error_implements_error_trait ... ok
[INFO] [stdout] test session::tests::test_session_error_source ... ok
[INFO] [stdout] test session::session::tests::test_submit_response_with_time_preserves_response_time ... ok
[INFO] [stdout] test session::tests::test_session_result_avg_time_per_item ... ok
[INFO] [stdout] test session::tests::test_session_result_avg_time_per_item_empty ... ok
[INFO] [stdout] test session::tests::test_session_result_avg_time_per_item_fractional ... ok
[INFO] [stdout] test session::tests::test_session_result_is_precise_false ... ok
[INFO] [stdout] test session::tests::test_session_result_clone ... ok
[INFO] [stdout] test session::tests::test_session_result_new ... ok
[INFO] [stdout] test session::tests::test_session_result_is_precise_true ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_as_trait_object ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_copy_semantics ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_expected_remaining_at_max ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_expected_remaining_at_start ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_expected_remaining_decreases ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_full_lifecycle ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_expected_remaining_saturates ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_multiple_terminators ... ok
[INFO] [stdout] test core::session_state::tests::test_duration_increases ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_clone_semantics ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_new_single_item ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_equality ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_name_consistent ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_name ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_new_valid ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_new_large_number ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_should_terminate_after_max ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_should_terminate_at_max ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_should_terminate_at_start ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_should_terminate_before_max ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_new_zero_panics - should panic ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_large_test ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_single_item_test ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_termination_reason_before_max ... ok
[INFO] [stdout] test termination::hybrid::tests::test_constructor_min_equals_max ... ok
[INFO] [stdout] test termination::fixed_length::tests::test_termination_reason_at_max ... ok
[INFO] [stdout] test termination::hybrid::tests::test_constructor_min_equals_zero ... ok
[INFO] [stdout] test termination::hybrid::tests::test_constructor_max_zero - should panic ... ok
[INFO] [stdout] test termination::hybrid::tests::test_edge_case_min_equals_max ... ok
[INFO] [stdout] test termination::hybrid::tests::test_constructor_valid ... ok
[INFO] [stdout] test termination::hybrid::tests::test_constructor_min_greater_than_max - should panic ... ok
[INFO] [stdout] test termination::hybrid::tests::test_edge_case_min_zero ... ok
[INFO] [stdout] test termination::hybrid::tests::test_constructor_target_se_zero - should panic ... ok
[INFO] [stdout] test termination::hybrid::tests::test_expected_remaining_after_min_high_se ... ok
[INFO] [stdout] test termination::hybrid::tests::test_constructor_target_se_negative - should panic ... ok
[INFO] [stdout] test termination::hybrid::tests::test_expected_remaining_before_min_no_se ... ok
[INFO] [stdout] test termination::hybrid::tests::test_expected_remaining_zero_at_start ... ok
[INFO] [stdout] test termination::hybrid::tests::test_expected_remaining_midpoint_calculation ... ok
[INFO] [stdout] test termination::hybrid::tests::test_edge_case_very_high_se_target ... ok
[INFO] [stdout] test termination::hybrid::tests::test_expected_remaining_midpoint_halfway ... ok
[INFO] [stdout] test termination::hybrid::tests::test_edge_case_very_low_se_target ... ok
[INFO] [stdout] test termination::hybrid::tests::test_expected_remaining_zero_at_termination ... ok
[INFO] [stdout] test termination::hybrid::tests::test_expected_remaining_zero_at_max_items ... ok
[INFO] [stdout] test termination::hybrid::tests::test_expected_remaining_zero_past_max ... ok
[INFO] [stdout] test termination::hybrid::tests::test_implements_clone_copy ... ok
[INFO] [stdout] test termination::hybrid::tests::test_implements_debug ... ok
[INFO] [stdout] test termination::hybrid::tests::test_infinite_se_never_terminates_before_max ... ok
[INFO] [stdout] test termination::hybrid::tests::test_se_comparison_exactly_equal ... ok
[INFO] [stdout] test termination::hybrid::tests::test_integration_progress_indication ... ok
[INFO] [stdout] test termination::hybrid::tests::test_infinite_se_terminates_at_max ... ok
[INFO] [stdout] test termination::hybrid::tests::test_integration_realistic_session ... ok
[INFO] [stdout] test termination::hybrid::tests::test_implements_partial_eq ... ok
[INFO] [stdout] test termination::hybrid::tests::test_name ... ok
[INFO] [stdout] test termination::hybrid::tests::test_should_terminate_false_after_min_items_high_se ... ok
[INFO] [stdout] test termination::hybrid::tests::test_se_comparison_floating_point_precision ... ok
[INFO] [stdout] test termination::hybrid::tests::test_should_terminate_true_max_items_exceeded ... ok
[INFO] [stdout] test termination::hybrid::tests::test_should_terminate_true_min_items_and_se_exactly_target ... ok
[INFO] [stdout] test termination::hybrid::tests::test_should_terminate_false_before_min_items ... ok
[INFO] [stdout] test termination::hybrid::tests::test_should_terminate_true_past_min_good_se ... ok
[INFO] [stdout] test termination::hybrid::tests::test_should_terminate_true_min_items_and_low_se ... ok
[INFO] [stdout] test termination::hybrid::tests::test_edge_case_many_items ... ok
[INFO] [stdout] test termination::hybrid::tests::test_should_terminate_false_before_min_items_even_low_se ... ok
[INFO] [stdout] test termination::hybrid::tests::test_should_terminate_true_max_items_hard_stop ... ok
[INFO] [stdout] test termination::hybrid::tests::test_termination_reason_none_past_min_high_se ... ok
[INFO] [stdout] test termination::hybrid::tests::test_termination_reason_se_threshold ... ok
[INFO] [stdout] test termination::hybrid::tests::test_trait_object ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_equality ... ok
[INFO] [stdout] test termination::hybrid::tests::test_termination_reason_messages_include_counts ... ok
[INFO] [stdout] test termination::hybrid::tests::test_termination_reason_max_items_hard_stop ... ok
[INFO] [stdout] test termination::hybrid::tests::test_termination_reason_none_before_min_items ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_expected_remaining_below_target ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_expected_remaining_when_continuing ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_clone_and_copy ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_expected_remaining_when_terminated ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_multiple_terminators_independent ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_name ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_no_termination_when_se_above_target ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_target_se_getter ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_terminates_when_se_reaches_target ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_termination_reason_when_continuing ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_termination_reason_formatting ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_terminates_when_se_below_target ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_termination_reason_when_terminated ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_very_large_se ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_trait_object ... ok
[INFO] [stdout] test termination::traits::tests::test_always_terminate_terminator ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_very_small_se ... ok
[INFO] [stdout] test termination::traits::tests::test_expected_remaining_decreases ... ok
[INFO] [stdout] test termination::traits::tests::test_expected_remaining_saturating ... ok
[INFO] [stdout] test termination::traits::tests::test_always_continue_terminator ... ok
[INFO] [stdout] test termination::traits::tests::test_send_sync_bounds ... ok
[INFO] [stdout] test termination::traits::tests::test_multiple_terminators_independent ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_panic_on_zero_target - should panic ... ok
[INFO] [stdout] test termination::traits::tests::test_terminator_name ... ok
[INFO] [stdout] test termination::se_threshold::tests::test_panic_on_negative_target - should panic ... ok
[INFO] [stdout] test termination::traits::tests::test_termination_reason_returns_some_when_terminating ... ok
[INFO] [stdout] test termination::traits::tests::test_terminator_should_terminate_true ... ok
[INFO] [stdout] test termination::traits::tests::test_terminator_should_terminate_false ... ok
[INFO] [stdout] test termination::traits::tests::test_trait_object_behavior ... ok
[INFO] [stdout] test termination::traits::tests::test_trait_object_send_sync ... ok
[INFO] [stdout] test termination::traits::tests::test_trait_object_creation ... ok
[INFO] [stdout] test selection::selectors::fallback_chain::tests::test_single_selector_used ... ok
[INFO] [stdout] test selection::selectors::max_information::tests::test_as_trait_object ... ok
[INFO] [stdout] test selection::selectors::max_information::tests::test_default_trait ... ok
[INFO] [stdout] test selection::selectors::max_information::tests::test_new_default_params ... ok
[INFO] [stdout] test selection::selectors::max_information::tests::test_provide_hints_with_extreme_ability ... ok
[INFO] [stdout] test selection::selectors::fallback_chain::tests::test_name ... ok
[INFO] [stdout] test selection::selectors::fallback_chain::tests::test_first_with_difficulty_wins ... ok
[INFO] [stdout] test termination::traits::tests::test_termination_reason_custom_message ... ok
[INFO] [stdout] test termination::traits::tests::test_termination_reason_returns_none_when_continuing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 384 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stderr]      Running tests/proposal_qbank_error_test.rs (/opt/rustwide/target/debug/deps/proposal_qbank_error_test-e30e77150a8b2b0d)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test test_error_equality ... ok
[INFO] [stdout] test test_debug_format ... ok
[INFO] [stdout] test test_error_propagation_with_question_mark ... ok
[INFO] [stdout] test test_display_formatting_consistency ... ok
[INFO] [stdout] test test_error_send_sync ... ok
[INFO] [stdout] test test_error_clone ... ok
[INFO] [stdout] test test_error_trait_implementation ... ok
[INFO] [stdout] test test_extract_error_message ... ok
[INFO] [stdout] test test_invalid_tolerance_value ... ok
[INFO] [stdout] test test_invalid_value_error_creation ... ok
[INFO] [stdout] test test_missing_param_error_creation ... ok
[INFO] [stdout] test test_missing_target_ability_error ... ok
[INFO] [stdout] test test_missing_target_ability_scenario ... ok
[INFO] [stdout] test test_no_question_available_unchanged ... ok
[INFO] [stdout] test test_pattern_matching_recovery_strategies ... ok
[INFO] [stdout] test test_replaces_invalid_hints_variant ... ok
[INFO] [stdout] test test_type_mismatch_detection ... ok
[INFO] [stdout] test test_type_mismatch_error_creation ... ok
[INFO] [stderr]      Running tests/proposal_qbank_source_sink_test.rs (/opt/rustwide/target/debug/deps/proposal_qbank_source_sink_test-a27f15d7615ea93b)
[INFO] [stdout] test test_different_variant_inequality ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stderr]      Running tests/proposal_session_validation_test.rs (/opt/rustwide/target/debug/deps/proposal_session_validation_test-c4576f1dc9f2eba5)
[INFO] [stdout] test test_db_bank_readonly_failure ... ok
[INFO] [stdout] test test_db_bank_connection_failure ... ok
[INFO] [stdout] test test_db_bank_successful_save ... ok
[INFO] [stdout] test test_error_type_is_send_sync ... ok
[INFO] [stdout] test test_extension_traits_separate_from_core ... ok
[INFO] [stdout] test test_error_type_is_std_error ... ok
[INFO] [stdout] test test_file_bank_load_failure ... ok
[INFO] [stdout] test test_db_bank_successful_load ... ok
[INFO] [stdout] test test_file_bank_save_failure ... ok
[INFO] [stdout] test test_file_bank_successful_save ... ok
[INFO] [stdout] test test_from_source_consumes_input ... ok
[INFO] [stdout] test test_generic_file_round_trip ... ok
[INFO] [stdout] test test_file_bank_successful_load ... ok
[INFO] [stdout] test test_generic_in_memory_round_trip ... ok
[INFO] [stdout] test test_in_memory_bank_round_trip ... ok
[INFO] [stdout] test test_multi_format_bank ... ok
[INFO] [stdout] test test_to_sink_no_side_effects ... ok
[INFO] [stdout] test test_traits_not_object_safe ... ok
[INFO] [stdout] test test_in_memory_bank_infallible_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stderr]      Running tests/test_estimators.rs (/opt/rustwide/target/debug/deps/test_estimators-c33935b5e4e04448)
[INFO] [stdout] test test_default_validate_hints_non_empty_bank ... ok
[INFO] [stdout] test test_session_validate_empty_bank ... ok
[INFO] [stdout] test test_session_new_no_validation_side_effects ... ok
[INFO] [stdout] test test_validate_before_session_creation ... ok
[INFO] [stdout] test test_explicit_validation_call_required ... ok
[INFO] [stdout] test test_validate_catches_issues_early ... ok
[INFO] [stdout] test test_validate_hints_does_not_mutate_bank ... ok
[INFO] [stdout] test test_validate_hints_in_range_difficulty ... ok
[INFO] [stdout] test test_complete_validation_workflow ... ok
[INFO] [stdout] test test_validate_hints_is_thread_safe ... ok
[INFO] [stdout] test test_session_validate_invalid_hints ... ok
[INFO] [stdout] test test_default_validate_hints_empty_bank ... ok
[INFO] [stdout] test test_validate_hints_multiple_calls_idempotent ... ok
[INFO] [stdout] test test_validate_hints_out_of_range_difficulty ... ok
[INFO] [stdout] test test_validate_hints_missing_ability ... ok
[INFO] [stdout] test test_validation_error_types ... ok
[INFO] [stdout] test test_session_validate_before_start ... ok
[INFO] [stdout] test test_validation_optional_not_required ... ok
[INFO] [stdout] test test_validation_workflow_with_failure ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 37 tests
[INFO] [stdout] test test_comparative_15_all_correct ... ok
[INFO] [stdout] test test_estimators_both_decrease_on_incorrect ... ok
[INFO] [stdout] test test_comparative_15_half_half ... ok
[INFO] [stdout] test test_comparative_15_all_wrong ... ok
[INFO] [stdout] test test_estimators_both_increase_on_correct ... ok
[INFO] [stdout] test test_estimators_response_count_tracking ... ok
[INFO] [stdout] test test_estimators_se_decreases_with_items ... ok
[INFO] [stdout] test test_high_ability_student_simple_average ... ok
[INFO] [stdout] test test_high_ability_student_mle ... ok
[INFO] [stdout] test test_low_ability_student_mle ... ok
[INFO] [stdout] test test_low_ability_student_simple_average ... ok
[INFO] [stdout] test test_mle_15_all_correct ... ok
[INFO] [stdout] test test_mle_15_half_half ... ok
[INFO] [stdout] test test_mle_15_all_wrong ... ok
[INFO] [stdout] test test_mle_convergence_stability ... ok
[INFO] [stdout] test test_mle_correct_answer_increases_ability ... ok
[INFO] [stdout] test test_mle_custom_damping ... ok
[INFO] [stdout] test test_mle_trait_interface ... ok
[INFO] [stdout] test test_mle_soft_bounds_lower ... ok
[INFO] [stdout] test test_realistic_cat_session_simple_average ... ok
[INFO] [stdout] test test_mle_standard_error_decreases ... ok
[INFO] [stdout] test test_mle_incorrect_answer_decreases_ability ... ok
[INFO] [stdout] test test_simple_average_difficulty_influence ... ok
[INFO] [stdout] test test_simple_average_15_all_correct ... ok
[INFO] [stdout] test test_simple_average_discrimination_weighting ... ok
[INFO] [stdout] test test_simple_average_extreme_ability_not_clamped ... ok
[INFO] [stdout] test test_simple_average_mixed_responses ... ok
[INFO] [stdout] test test_simple_average_minimum_se_enforced ... ok
[INFO] [stdout] test test_simple_average_single_correct_response ... ok
[INFO] [stdout] test test_simple_average_single_incorrect_response ... ok
[INFO] [stdout] test test_simple_average_standard_error_decreases ... ok
[INFO] [stdout] test test_simple_average_trait_interface ... ok
[INFO] [stdout] test test_mle_extreme_ability_detection ... ok
[INFO] [stdout] test test_mle_multiple_correct_responses ... ok
[INFO] [stdout] test test_realistic_cat_session_mle ... ok
[INFO] [stdout] test test_simple_average_15_all_wrong ... ok
[INFO] [stdout] test test_simple_average_15_half_half ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_exports.rs (/opt/rustwide/target/debug/deps/test_exports-3f79d0d3d2d8011d)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test test_all_types_importable_at_root ... ok
[INFO] [stdout] test test_content_types_accessible ... ok
[INFO] [stdout] test test_question_accessible ... ok
[INFO] [stdout] test test_core_types_accessible ... ok
[INFO] [stdout] test test_session_state_accessible ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_irt_parameters.rs (/opt/rustwide/target/debug/deps/test_irt_parameters-28e641779c760e0f)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stderr]      Running tests/test_multiple_choice.rs (/opt/rustwide/target/debug/deps/test_multiple_choice-79a82dff6efbc266)
[INFO] [stdout] test test_1pl_information_calculation ... ok
[INFO] [stdout] test test_1pl_probability_ignores_discrimination_and_guessing ... ok
[INFO] [stdout] test test_1pl_probability_above_difficulty ... ok
[INFO] [stdout] test test_1pl_probability_below_difficulty ... ok
[INFO] [stdout] test test_2pl_information_calculation ... ok
[INFO] [stdout] test test_2pl_probability_ignores_guessing ... ok
[INFO] [stdout] test test_3pl_information_calculation ... ok
[INFO] [stdout] test test_3pl_probability_above_difficulty ... ok
[INFO] [stdout] test test_3pl_probability_at_difficulty ... ok
[INFO] [stdout] test test_3pl_probability_below_difficulty ... ok
[INFO] [stdout] test test_3pl_with_high_discrimination ... ok
[INFO] [stdout] test test_accessor_methods ... ok
[INFO] [stdout] test test_2pl_probability_above_difficulty ... ok
[INFO] [stdout] test test_basic_construction ... ok
[INFO] [stdout] test test_different_difficulty_values ... ok
[INFO] [stdout] test test_edge_case_very_high_ability ... ok
[INFO] [stdout] test test_edge_case_very_low_ability ... ok
[INFO] [stdout] test test_edge_case_zero_guessing ... ok
[INFO] [stdout] test test_information_is_non_negative ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test multiple_choice_tests::test_clone_box ... ok
[INFO] [stdout] test multiple_choice_tests::test_clone_independence ... ok
[INFO] [stdout] test multiple_choice_tests::test_as_trait_object ... ok
[INFO] [stdout] test multiple_choice_tests::test_construction ... ok
[INFO] [stdout] test multiple_choice_tests::test_generate_feedback_incorrect ... ok
[INFO] [stdout] test multiple_choice_tests::test_generate_feedback_correct ... ok
[INFO] [stdout] test multiple_choice_tests::test_guessing_probability_five_options ... ok
[INFO] [stdout] test multiple_choice_tests::test_guessing_probability_four_options ... ok
[INFO] [stdout] test multiple_choice_tests::test_guessing_probability_two_options ... ok
[INFO] [stdout] test multiple_choice_tests::test_in_collection ... ok
[INFO] [stdout] test multiple_choice_tests::test_render_html ... ok
[INFO] [stdout] test multiple_choice_tests::test_render_markdown ... ok
[INFO] [stdout] test multiple_choice_tests::test_render_plain_text ... ok
[INFO] [stdout] test multiple_choice_tests::test_score_another_incorrect_answer ... ok
[INFO] [stdout] test multiple_choice_tests::test_score_correct_answer ... ok
[INFO] [stdout] test multiple_choice_tests::test_score_incorrect_answer ... ok
[INFO] [stdout] test multiple_choice_tests::test_score_invalid_format ... ok
[INFO] [stdout] test multiple_choice_tests::test_thread_safety ... ok
[INFO] [stdout] test multiple_choice_tests::test_score_out_of_range ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_qbank.rs (/opt/rustwide/target/debug/deps/test_qbank-be8beddc0d137f8e)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test test_bank_exhaustion ... ok
[INFO] [stdout] test test_empty_bank ... ok
[INFO] [stdout] test test_max_info_filters_by_discrimination ... ok
[INFO] [stdout] test test_max_info_selects_highest_information_at_ability ... ok
[INFO] [stdout] test test_max_info_respects_tolerance ... ok
[INFO] [stdout] test test_nearest_diff_no_questions_in_range_falls_back ... ok
[INFO] [stdout] test test_nearest_diff_respects_range ... ok
[INFO] [stdout] test test_nearest_diff_selects_closest_difficulty ... ok
[INFO] [stdout] test test_no_questions_match_strict_criteria_falls_back ... ok
[INFO] [stdout] test test_random_selector_exhausts_bank ... ok
[INFO] [stdout] test test_random_selector_produces_variety ... ok
[INFO] [stdout] test test_static_qbank_with_max_info_selector ... ok
[INFO] [stdout] test test_static_qbank_with_random_selector ... ok
[INFO] [stdout] test test_warmup_selector_uses_random_initially ... ok
[INFO] [stdout] test test_static_qbank_with_warmup_selector ... ok
[INFO] [stdout] test test_stats_update_correctly ... ok
[INFO] [stdout] test test_realistic_cat_with_warmup_and_termination ... ok
[INFO] [stdout] test test_usage_tracking_prevents_reselection ... ok
[INFO] [stdout] test test_warmup_selector_transitions_to_main ... ok
[INFO] [stderr]      Running tests/test_question.rs (/opt/rustwide/target/debug/deps/test_question-635526b2d3a451dd)
[INFO] [stdout] test test_static_qbank_with_nearest_difficulty_selector ... ok
[INFO] [stdout] test test_realistic_cat_workflow_ability_convergence ... ok
[INFO] [stdout] test test_reset_allows_reuse ... ok
[INFO] [stdout] test test_cat_workflow_with_different_starting_abilities ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test test_question_clone_content_preserves_behavior ... ok
[INFO] [stdout] test test_question_information_delegates_to_parameters ... ok
[INFO] [stdout] test test_question_clone_content ... ok
[INFO] [stdout] test test_question_information_is_positive ... ok
[INFO] [stdout] test test_question_information_maximum_near_difficulty ... ok
[INFO] [stdout] test test_question_new ... ok
[INFO] [stdout] test test_question_new_various_parameters ... ok
[INFO] [stdout] test test_question_probability_at_various_abilities ... ok
[INFO] [stdout] test test_question_probability_delegates_to_parameters ... ok
[INFO] [stdout] test test_question_with_content_rendering ... ok
[INFO] [stdout] test test_question_with_content_scoring ... ok
[INFO] [stdout] test test_question_with_extreme_discrimination ... ok
[INFO] [stdout] test test_question_with_zero_guessing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_question_content.rs (/opt/rustwide/target/debug/deps/test_question_content-ac878637455a0825)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test question_content_tests::test_clone_box_independence ... ok
[INFO] [stdout] test question_content_tests::test_generate_feedback_correct ... ok
[INFO] [stdout] test question_content_tests::test_generate_feedback_incorrect ... ok
[INFO] [stdout] test question_content_tests::test_guessing_probability ... ok
[INFO] [stdout] test question_content_tests::test_render_format_clone ... ok
[INFO] [stdout] test question_content_tests::test_render_format_debug ... ok
[INFO] [stdout] test question_content_tests::test_render_format_eq ... ok
[INFO] [stdout] test question_content_tests::test_render_format_variants ... ok
[INFO] [stdout] test question_content_tests::test_render_html ... ok
[INFO] [stdout] test question_content_tests::test_render_markdown ... ok
[INFO] [stdout] test question_content_tests::test_score_correct_answer ... ok
[INFO] [stdout] test question_content_tests::test_score_incorrect_answer ... ok
[INFO] [stdout] test question_content_tests::test_render_plain_text ... ok
[INFO] [stdout] test question_content_tests::test_send_sync_bounds ... ok
[INFO] [stdout] test question_content_tests::test_trait_object_creation ... ok
[INFO] [stdout] test question_content_tests::test_thread_safety ... ok
[INFO] [stdout] test question_content_tests::test_trait_object_in_vec ... ok
[INFO] [stdout] test question_content_tests::test_clone_box ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_response.rs (/opt/rustwide/target/debug/deps/test_response-5ed29ec9d0dd531b)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_response_owns_question ... ok
[INFO] [stdout] test test_response_clone ... ok
[INFO] [stderr]      Running tests/test_selection_hints.rs (/opt/rustwide/target/debug/deps/test_selection_hints-2e6b07aafa2d6059)
[INFO] [stdout] test test_response_stores_all_fields_correctly ... ok
[INFO] [stdout] test test_response_timestamp_is_recent ... ok
[INFO] [stdout] test test_response_preserves_question_content ... ok
[INFO] [stdout] test test_response_new_sets_timestamp_automatically ... ok
[INFO] [stdout] test test_response_with_different_scores ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test test_basic_hint_creation ... ok
[INFO] [stdout] test test_complex_custom_params ... ok
[INFO] [stdout] test test_clone_preserves_all_data ... ok
[INFO] [stdout] test test_empty_params_valid ... ok
[INFO] [stdout] test test_empty_hints_creation ... ok
[INFO] [stdout] test test_hint_with_various_abilities ... ok
[INFO] [stdout] test test_max_info_selector_pattern ... ok
[INFO] [stdout] test test_modify_after_clone_independence ... ok
[INFO] [stdout] test test_multiple_param_types_coexist ... ok
[INFO] [stdout] test test_nearest_diff_selector_pattern ... ok
[INFO] [stderr]      Running tests/test_selectors.rs (/opt/rustwide/target/debug/deps/test_selectors-0d28cd999d53e292)
[INFO] [stdout] test test_param_type_isolation ... ok
[INFO] [stdout] test test_qbank_pattern_matching_workflow ... ok
[INFO] [stdout] test test_random_selector_pattern ... ok
[INFO] [stdout] test test_param_overwrite_same_type ... ok
[INFO] [stdout] test test_realistic_cat_workflow ... ok
[INFO] [stdout] test test_typed_params_storage_and_retrieval ... ok
[INFO] [stdout] test test_warmup_to_adaptive_transition ... ok
[INFO] [stdout] test test_with_param_then_add_more ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test test_max_info_params_type_safety ... ok
[INFO] [stdout] test test_max_info_hint_generation ... ok
[INFO] [stdout] test test_dynamic_selector_dispatch ... ok
[INFO] [stdout] test test_all_selectors_as_trait_objects ... ok
[INFO] [stdout] test test_max_info_with_various_abilities ... ok
[INFO] [stdout] test test_nearest_diff_infinite_range ... ok
[INFO] [stdout] test test_nearest_diff_params_type_safety ... ok
[INFO] [stdout] test test_random_with_various_abilities ... ok
[INFO] [stdout] test test_random_no_params ... ok
[INFO] [stdout] test test_realistic_cat_max_info_progression ... ok
[INFO] [stdout] test test_parameter_type_pattern_matching_workflow ... ok
[INFO] [stdout] test test_realistic_cat_nearest_difficulty_strategy ... ok
[INFO] [stdout] test test_realistic_cat_warmup_to_adaptive ... ok
[INFO] [stdout] test test_selector_independence_from_state ... ok
[INFO] [stdout] test test_warmup_transition_at_correct_count ... ok
[INFO] [stdout] test test_warmup_name ... ok
[INFO] [stdout] test test_warmup_with_nearest_diff_main ... ok
[INFO] [stdout] test test_random_hint_generation ... ok
[INFO] [stderr]      Running tests/test_session.rs (/opt/rustwide/target/debug/deps/test_session-13c5c453c5b184bb)
[INFO] [stdout] test test_nearest_diff_hint_generation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test test_ability_decreases_with_incorrect_answers ... ok
[INFO] [stdout] test test_ability_progression_logging ... ok
[INFO] [stdout] test test_baseline_random_simpleavg_fixed ... ok
[INFO] [stdout] test test_ability_converges_over_time ... ok
[INFO] [stdout] test test_exhaustion_error_propagation ... ok
[INFO] [stdout] test test_final_results_accuracy ... ok
[INFO] [stdout] test test_mixed_performance ... ok
[INFO] [stdout] test test_high_ability_detection ... ok
[INFO] [stdout] test test_low_ability_detection ... ok
[INFO] [stdout] test test_se_reduction_over_time ... ok
[INFO] [stdout] test test_precision_nearestdiff_mle_sethreshold ... ok
[INFO] [stdout] test test_full_workflow_integration ... ok
[INFO] [stdout] test test_session_can_finalize_after_bank_exhaustion ... ok
[INFO] [stdout] test test_session_captures_all_data_in_result ... ok
[INFO] [stdout] test test_session_lifecycle_state_transitions ... ok
[INFO] [stdout] test test_small_bank_exhausts_before_termination ... ok
[INFO] [stdout] test test_verify_state_transitions_sequential ... ok
[INFO] [stdout] test test_ability_increases_with_correct_answers ... ok
[INFO] [stdout] test test_ability_convergence ... ok
[INFO] [stdout] test test_session_with_all_incorrect_answers ... ok
[INFO] [stdout] test test_termination_at_max_items ... ok
[INFO] [stdout] test test_session_with_all_correct_answers ... ok
[INFO] [stdout] test test_realistic_cat_maxinfo_mle_hybrid ... ok
[INFO] [stdout] test test_se_decreases_with_more_responses ... ok
[INFO] [stdout] test test_verify_termination_reasons_correct ... ok
[INFO] [stdout] test test_warmup_phase_cat ... ok
[INFO] [stdout] test test_termination_at_min_items_plus_good_se ... ok
[INFO] [stdout] test test_early_termination_at_se_threshold ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_session_state.rs (/opt/rustwide/target/debug/deps/test_session_state-4eb0575cd1ea911a)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test test_session_state_debug_output ... ok
[INFO] [stdout] test test_session_state_duration_immediately_after_creation ... ok
[INFO] [stdout] test test_session_state_clone ... ok
[INFO] [stdout] test test_session_state_initial_standard_error_is_infinity ... ok
[INFO] [stdout] test test_session_state_no_session_id_field ... ok
[INFO] [stdout] test test_session_state_response_count_empty ... ok
[INFO] [stdout] test test_session_state_responses_starts_empty ... ok
[INFO] [stdout] test test_session_state_started_at_automatic ... ok
[INFO] [stdout] test test_session_state_response_count_with_responses ... ok
[INFO] [stdout] test test_session_state_standard_error_update ... ok
[INFO] [stdout] test test_session_state_new_with_initial_ability ... ok
[INFO] [stdout] test test_session_state_started_at_is_set ... ok
[INFO] [stdout] test test_session_state_with_various_initial_abilities ... ok
[INFO] [stdout] test test_standard_error_initial ... ok
[INFO] [stdout] test test_standard_error_is_precise ... ok
[INFO] [stdout] test test_standard_error_new_valid ... ok
[INFO] [stdout] test test_standard_error_zero ... ok
[INFO] [stdout] test test_standard_error_negative_panics - should panic ... ok
[INFO] [stdout] test test_session_state_duration_increases_over_time ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_terminators.rs (/opt/rustwide/target/debug/deps/test_terminators-968103aefdb5b43d)
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test test_different_terminators_different_results ... ok
[INFO] [stdout] test test_ability_convergence_with_termination ... ok
[INFO] [stdout] test test_fixed_length_exact_termination_count ... ok
[INFO] [stdout] test test_fixed_length_saturating_remaining ... ok
[INFO] [stdout] test test_fixed_length_no_early_termination ... ok
[INFO] [stdout] test test_full_cat_session_fixed_length ... ok
[INFO] [stdout] test test_hybrid_expected_remaining_midpoint ... ok
[INFO] [stdout] test test_hybrid_min_equals_max_case ... ok
[INFO] [stdout] test test_full_cat_session_hybrid ... ok
[INFO] [stdout] test test_hybrid_max_items_hard_stop ... ok
[INFO] [stdout] test test_full_cat_session_se_threshold ... ok
[INFO] [stdout] test test_hybrid_min_items_enforcement ... ok
[INFO] [stdout] test test_hybrid_optimal_case ... ok
[INFO] [stdout] test test_multiple_terminators_same_state ... ok
[INFO] [stdout] test test_se_threshold_below_target_terminates ... ok
[INFO] [stdout] test test_se_threshold_exact_boundary ... ok
[INFO] [stdout] test test_se_threshold_in_cat_session ... ok
[INFO] [stdout] test test_hybrid_min_zero_immediate_termination ... ok
[INFO] [stdout] test test_se_threshold_decreasing_over_time ... ok
[INFO] [stdout] test test_terminator_after_termination ... ok
[INFO] [stdout] test test_terminator_at_termination ... ok
[INFO] [stdout] test test_hybrid_realistic_cat_workflow ... ok
[INFO] [stdout] test test_se_threshold_above_target_continues ... ok
[INFO] [stdout] test test_terminator_empty_state ... ok
[INFO] [stdout] test test_terminator_just_before_termination ... ok
[INFO] [stdout] test test_terminator_names ... ok
[INFO] [stdout] test test_trait_object_vector ... ok
[INFO] [stdout] test test_terminator_partially_complete ... ok
[INFO] [stdout] test test_terminator_with_all_correct_answers ... ok
[INFO] [stdout] test test_terminator_with_all_incorrect_answers ... ok
[INFO] [stdout] test test_fixed_length_in_cat_session ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests arona
[INFO] [stdout] 
[INFO] [stdout] running 155 tests
[INFO] [stdout] test src/core/irt.rs - core::irt::IRTParameters (line 63) ... ok
[INFO] [stdout] test src/core/irt.rs - core::irt::IRTParameters::information_1pl (line 378) ... ok
[INFO] [stdout] test src/content/multiple_choice.rs - content::multiple_choice::MultipleChoice::score (line 189) ... ok
[INFO] [stdout] test src/content/multiple_choice.rs - content::multiple_choice::MultipleChoice::new (line 88) ... ok
[INFO] [stdout] test src/content/multiple_choice.rs - content::multiple_choice::MultipleChoice::generate_feedback (line 273) ... ok
[INFO] [stdout] test src/core/irt.rs - core::irt::IRTParameters::information (line 191) ... ok
[INFO] [stdout] test src/core/irt.rs - core::irt::IRTParameters::new (line 99) ... ok
[INFO] [stdout] test src/core/irt.rs - core::irt::IRTParameters::difficulty (line 435) ... ok
[INFO] [stdout] test src/content/multiple_choice.rs - content::multiple_choice (line 9) ... ok
[INFO] [stdout] test src/core/irt.rs - core::irt::IRTParameters::probability (line 146) ... ok
[INFO] [stdout] test src/content/traits.rs - content::traits::QuestionContent (line 34) ... ok
[INFO] [stdout] test src/core/irt.rs - core::irt::IRTParameters::guessing (line 458) ... ok
[INFO] [stdout] test src/core/irt.rs - core::irt::IRTParameters::discrimination (line 412) ... ok
[INFO] [stdout] test src/core/irt.rs - core::irt::IRTParameters::information_2pl (line 287) ... ok
[INFO] [stdout] test src/content/traits.rs - content::traits::RenderFormat (line 190) ... ok
[INFO] [stdout] test src/core/irt.rs - core::irt::IRTParameters::probability_2pl (line 244) ... ok
[INFO] [stdout] test src/core/irt.rs - core::irt::IRTParameters::probability_1pl (line 335) ... ok
[INFO] [stdout] test src/content/multiple_choice.rs - content::multiple_choice::MultipleChoice::clone_box (line 317) ... ok
[INFO] [stdout] test src/core/question.rs - core::question (line 100) ... ok
[INFO] [stdout] test src/content/multiple_choice.rs - content::multiple_choice::MultipleChoice::guessing_probability (line 235) ... ok
[INFO] [stdout] test src/core/question.rs - core::question (line 26) ... ok
[INFO] [stdout] test src/core/question.rs - core::question (line 124) ... ok
[INFO] [stdout] test src/core/question.rs - core::question::Question::clone_content (line 433) ... ok
[INFO] [stdout] test src/core/response.rs - core::response::Response::clone (line 296) ... ok
[INFO] [stdout] test src/core/response.rs - core::response (line 35) ... ok
[INFO] [stdout] test src/core/question.rs - core::question (line 76) ... ok
[INFO] [stdout] test src/core/response.rs - core::response::Response::new (line 224) ... ok
[INFO] [stdout] test src/core/score.rs - core::score (line 24) ... ok
[INFO] [stdout] test src/core/question.rs - core::question::Question::clone_content (line 462) ... ok
[INFO] [stdout] test src/core/score.rs - core::score (line 46) ... ok
[INFO] [stdout] test src/core/question.rs - core::question::Question (line 177) ... ok
[INFO] [stdout] test src/core/response.rs - core::response (line 80) ... ok
[INFO] [stdout] test src/core/score.rs - core::score::Score::is_correct (line 123) ... ok
[INFO] [stdout] test src/core/question.rs - core::question::Question::new (line 236) ... ok
[INFO] [stdout] test src/core/question.rs - core::question::Question::probability (line 309) ... ok
[INFO] [stdout] test src/core/question.rs - core::question::Question::information (line 379) ... ok
[INFO] [stdout] test src/core/session_state.rs - core::session_state::SessionState::new (line 146) ... ok
[INFO] [stdout] test src/core/score.rs - core::score::Score::new (line 96) ... ok
[INFO] [stdout] test src/core/score.rs - core::score::Score::value (line 153) ... ok
[INFO] [stdout] test src/core/score.rs - core::score::Score::new (line 89) ... ok
[INFO] [stdout] test src/core/session_state.rs - core::session_state::SessionState::duration (line 218) ... ok
[INFO] [stdout] test src/core/session_state.rs - core::session_state (line 27) ... ok
[INFO] [stdout] test src/core/score.rs - core::score::Score::new (line 74) ... ok
[INFO] [stdout] test src/core/session_state.rs - core::session_state (line 42) ... ok
[INFO] [stdout] test src/core/session_state.rs - core::session_state::SessionState::response_count (line 192) ... ok
[INFO] [stdout] test src/core/standard_error.rs - core::standard_error::StandardError::new (line 74) ... ok
[INFO] [stdout] test src/core/standard_error.rs - core::standard_error (line 28) ... ok
[INFO] [stdout] test src/core/standard_error.rs - core::standard_error::StandardError::new (line 87) ... ok
[INFO] [stdout] test src/core/standard_error.rs - core::standard_error::StandardError::initial (line 112) ... ok
[INFO] [stdout] test src/core/standard_error.rs - core::standard_error (line 49) ... ok
[INFO] [stdout] test src/estimation/simple_average.rs - estimation::simple_average::SimpleAverage::new (line 142) ... ok
[INFO] [stdout] test src/estimation/mle.rs - estimation::mle (line 83) ... ok
[INFO] [stdout] test src/estimation/mle.rs - estimation::mle::MLEEstimator::with_damping (line 193) ... ok
[INFO] [stdout] test src/qbank/mod.rs - qbank (line 40) ... ok
[INFO] [stdout] test src/estimation/simple_average.rs - estimation::simple_average (line 44) ... ok
[INFO] [stdout] test src/estimation/traits.rs - estimation::traits::AbilityEstimator (line 42) ... ok
[INFO] [stdout] test src/estimation/mle.rs - estimation::mle::MLEEstimator::new (line 158) ... ok
[INFO] [stdout] test src/core/standard_error.rs - core::standard_error::StandardError::is_precise (line 134) ... ok
[INFO] [stdout] test src/qbank/static_bank.rs - qbank::static_bank (line 24) ... ok
[INFO] [stdout] test src/qbank/static_bank.rs - qbank::static_bank::StaticQBank::len (line 203) ... ok
[INFO] [stdout] test src/qbank/static_bank.rs - qbank::static_bank (line 80) ... ok
[INFO] [stdout] test src/qbank/static_bank.rs - qbank::static_bank::StaticQBank::is_empty (line 217) ... ok
[INFO] [stdout] test src/estimation/mod.rs - estimation (line 22) ... ok
[INFO] [stdout] test src/qbank/static_bank.rs - qbank::static_bank::StaticQBank::reset (line 721) ... ok
[INFO] [stdout] test src/qbank/static_bank.rs - qbank::static_bank::StaticQBank::select_question (line 551) ... ok
[INFO] [stdout] test src/qbank/static_bank.rs - qbank::static_bank::StaticQBank::new (line 165) ... ok
[INFO] [stdout] test src/qbank/static_bank.rs - qbank::static_bank::StaticQBank::stats (line 609) ... ok
[INFO] [stdout] test src/qbank/traits.rs - qbank::traits (line 76) ... ok
[INFO] [stdout] test src/selection/hints.rs - selection::hints::SelectionHints (line 58) ... ok
[INFO] [stdout] test src/qbank/traits.rs - qbank::traits::QBankStats::is_exhausted (line 448) ... ok
[INFO] [stdout] test src/qbank/traits.rs - qbank::traits::QBankStats::usage_ratio (line 483) ... ok
[INFO] [stdout] test src/qbank/traits.rs - qbank::traits (line 32) ... ok
[INFO] [stdout] test src/selection/hints.rs - selection::hints::SelectionHints::empty (line 163) ... ok
[INFO] [stdout] test src/qbank/traits.rs - qbank::traits::QuestionBank (line 135) ... ok
[INFO] [stdout] test src/qbank/traits.rs - qbank::traits::QBankStats (line 388) ... ok
[INFO] [stdout] test src/selection/hints.rs - selection::hints::SelectionHints (line 67) ... ok
[INFO] [stdout] test src/selection/selectors/combine.rs - selection::selectors::combine::CombineSelector (line 123) ... ok
[INFO] [stdout] test src/selection/selectors/combine.rs - selection::selectors::combine (line 36) ... ok
[INFO] [stdout] test src/selection/selectors/combine.rs - selection::selectors::combine (line 48) ... ok
[INFO] [stdout] test src/selection/hints.rs - selection::hints::SelectionHints (line 48) ... ok
[INFO] [stdout] test src/selection/hints.rs - selection::hints::SelectionHints::target_ability (line 184) ... ok
[INFO] [stdout] test src/selection/hints.rs - selection::hints::SelectionHints::new (line 138) ... ok
[INFO] [stdout] test src/qbank/traits.rs - qbank::traits::QuestionBank (line 171) ... ok
[INFO] [stdout] test src/selection/selectors/max_information.rs - selection::selectors::max_information::MaxInformationSelector (line 103) ... ok
[INFO] [stdout] test src/selection/selectors/fallback_chain.rs - selection::selectors::fallback_chain::FallbackChainSelector (line 23) ... FAILED
[INFO] [stdout] test src/selection/selectors/combine.rs - selection::selectors::combine::CombineSelector (line 101) ... ok
[INFO] [stdout] test src/selection/selectors/combine.rs - selection::selectors::combine (line 23) ... ok
[INFO] [stdout] test src/selection/selectors/combine.rs - selection::selectors::combine::CombineSelector<S1,S2,T>::new (line 171) ... ok
[INFO] [stdout] test src/selection/selectors/combine.rs - selection::selectors::combine::CombineSelector (line 112) ... ok
[INFO] [stdout] test src/selection/selectors/max_information.rs - selection::selectors::max_information::MaxInformationSelector::with_params (line 166) ... ok
[INFO] [stdout] test src/selection/selectors/nearest_difficulty.rs - selection::selectors::nearest_difficulty::NearestDifficultySelector (line 100) ... ok
[INFO] [stdout] test src/selection/selectors/mod.rs - selection::selectors (line 42) ... ok
[INFO] [stdout] test src/selection/selectors/max_information.rs - selection::selectors::max_information (line 21) ... ok
[INFO] [stdout] test src/selection/selectors/mod.rs - selection::selectors (line 15) ... ok
[INFO] [stdout] test src/selection/selectors/nearest_difficulty.rs - selection::selectors::nearest_difficulty::NearestDifficultySelector::new (line 133) ... ok
[INFO] [stdout] test src/selection/selectors/max_information.rs - selection::selectors::max_information::MaxInformationSelector::new (line 143) ... ok
[INFO] [stdout] test src/selection/selectors/random.rs - selection::selectors::random::RandomSelector (line 63) ... ok
[INFO] [stdout] test src/selection/selectors/nearest_difficulty.rs - selection::selectors::nearest_difficulty::NearestDifficultySelector (line 90) ... ok
[INFO] [stdout] test src/selection/selectors/nearest_difficulty.rs - selection::selectors::nearest_difficulty (line 27) ... ok
[INFO] [stdout] test src/selection/selectors/max_information.rs - selection::selectors::max_information::MaxInformationSelector (line 114) ... ok
[INFO] [stdout] test src/selection/selectors/nearest_difficulty.rs - selection::selectors::nearest_difficulty::NearestDifficultySelector::with_range (line 151) ... ok
[INFO] [stdout] test src/selection/selectors/random.rs - selection::selectors::random::RandomSelector (line 71) ... ok
[INFO] [stdout] test src/session/mod.rs - session (line 38) ... ignored
[INFO] [stdout] test src/selection/selectors/nearest_difficulty.rs - selection::selectors::nearest_difficulty::NearestDifficultySelector (line 110) ... ok
[INFO] [stdout] test src/selection/selectors/mod.rs - selection::selectors (line 29) ... ok
[INFO] [stdout] test src/selection/selectors/random.rs - selection::selectors::random (line 17) ... ok
[INFO] [stdout] test src/selection/selectors/warmup.rs - selection::selectors::warmup::WarmupSelector (line 98) ... ok
[INFO] [stdout] test src/selection/selectors/random.rs - selection::selectors::random::RandomSelector (line 81) ... ok
[INFO] [stdout] test src/selection/selectors/warmup.rs - selection::selectors::warmup::WarmupSelector (line 114) ... ok
[INFO] [stdout] test src/selection/selectors/warmup.rs - selection::selectors::warmup (line 50) ... ok
[INFO] [stdout] test src/selection/selectors/warmup.rs - selection::selectors::warmup (line 23) ... ok
[INFO] [stdout] test src/selection/selectors/warmup.rs - selection::selectors::warmup (line 40) ... ok
[INFO] [stdout] test src/selection/selectors/warmup.rs - selection::selectors::warmup::WarmupSelector<S>::into_combine (line 168) ... ok
[INFO] [stdout] test src/session/session.rs - session::session (line 42) ... ignored
[INFO] [stdout] test src/session/session.rs - session::session::Session::expected_remaining (line 355) ... ignored
[INFO] [stdout] test src/session/session.rs - session::session::Session::finalize (line 649) ... ignored
[INFO] [stdout] test src/session/session.rs - session::session::Session::has_current_question (line 312) ... ignored
[INFO] [stdout] test src/session/session.rs - session::session::Session::is_terminated (line 256) ... ignored
[INFO] [stdout] test src/session/session.rs - session::session::Session::new (line 177) ... ignored
[INFO] [stdout] test src/session/session.rs - session::session::Session::next_question (line 427) ... ignored
[INFO] [stdout] test src/session/session.rs - session::session::Session::should_terminate (line 608) ... ignored
[INFO] [stdout] test src/session/session.rs - session::session::Session::state (line 286) ... ignored
[INFO] [stdout] test src/session/session.rs - session::session::Session::submit_response (line 512) ... ignored
[INFO] [stdout] test src/selection/selectors/warmup.rs - selection::selectors::warmup::WarmupSelector (line 106) ... ok
[INFO] [stdout] test src/selection/traits.rs - selection::traits (line 42) ... ok
[INFO] [stdout] test src/selection/selectors/warmup.rs - selection::selectors::warmup::WarmupSelector<S>::new (line 147) ... ok
[INFO] [stdout] test src/session/mod.rs - session::SessionError::AlreadyTerminated (line 147) ... ok
[INFO] [stdout] test src/session/mod.rs - session::SessionError::QBankError (line 173) ... ok
[INFO] [stdout] test src/selection/traits.rs - selection::traits::ItemSelector (line 95) ... ok
[INFO] [stdout] test src/session/mod.rs - session::ResponseResult::new (line 294) ... ok
[INFO] [stdout] test src/session/mod.rs - session::ResponseResult (line 236) ... ok
[INFO] [stdout] test src/session/mod.rs - session::SessionResult::avg_time_per_item (line 480) ... ok
[INFO] [stdout] test src/selection/traits.rs - selection::traits (line 71) ... ok
[INFO] [stdout] test src/session/mod.rs - session::SessionResult (line 339) ... ok
[INFO] [stdout] test src/session/mod.rs - session::SessionError (line 92) ... ok
[INFO] [stdout] test src/session/mod.rs - session::SessionResult::new (line 401) ... ok
[INFO] [stdout] test src/termination/fixed_length.rs - termination::fixed_length (line 22) ... ok
[INFO] [stdout] test src/session/mod.rs - session::SessionResult::is_precise (line 444) ... ok
[INFO] [stdout] test src/termination/fixed_length.rs - termination::fixed_length::FixedLengthTerminator (line 56) ... ok
[INFO] [stdout] test src/session/mod.rs - session::SessionError::NoCurrentQuestion (line 124) ... ok
[INFO] [stdout] test src/termination/hybrid.rs - termination::hybrid::HybridTerminator (line 83) ... ok
[INFO] [stdout] test src/termination/hybrid.rs - termination::hybrid::HybridTerminator::new (line 206) ... ok
[INFO] [stdout] test src/termination/traits.rs - termination::traits::Terminator (line 92) ... ok
[INFO] [stdout] test src/termination/fixed_length.rs - termination::fixed_length::FixedLengthTerminator::new (line 86) ... ok
[INFO] [stdout] test src/termination/se_threshold.rs - termination::se_threshold::SEThresholdTerminator::target_se (line 113) ... ok
[INFO] [stdout] test src/termination/hybrid.rs - termination::hybrid (line 24) ... ok
[INFO] [stdout] test src/termination/se_threshold.rs - termination::se_threshold::SEThresholdTerminator (line 52) ... ok
[INFO] [stdout] test src/termination/hybrid.rs - termination::hybrid::HybridTerminator::new (line 212) ... ok
[INFO] [stdout] test src/termination/hybrid.rs - termination::hybrid::HybridTerminator::new (line 200) ... ok
[INFO] [stdout] test src/termination/se_threshold.rs - termination::se_threshold::SEThresholdTerminator::new (line 94) ... ok
[INFO] [stdout] test src/termination/hybrid.rs - termination::hybrid (line 39) ... ok
[INFO] [stdout] test src/termination/traits.rs - termination::traits (line 32) ... ok
[INFO] [stdout] test src/termination/hybrid.rs - termination::hybrid::HybridTerminator::new (line 182) ... ok
[INFO] [stdout] test src/termination/se_threshold.rs - termination::se_threshold (line 30) ... ok
[INFO] [stdout] test src/termination/mod.rs - termination (line 29) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/selection/selectors/fallback_chain.rs - selection::selectors::fallback_chain::FallbackChainSelector (line 23) stdout ----
[INFO] [stdout] error[E0599]: no method named `name` found for struct `FallbackChainSelector` in the current scope
[INFO] [stdout]    --> src/selection/selectors/fallback_chain.rs:36:18
[INFO] [stdout]     |
[INFO] [stdout]  36 | assert_eq!(chain.name(), "FallbackChain");
[INFO] [stdout]     |                  ^^^^ method not found in `FallbackChainSelector`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/selection/traits.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn name(&self) -> &str;
[INFO] [stdout]     |        ---- the method is available for `FallbackChainSelector` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `ItemSelector` which provides `name` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]  22 + use crate::arona::ItemSelector;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/selection/selectors/fallback_chain.rs - selection::selectors::fallback_chain::FallbackChainSelector (line 23)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 143 passed; 1 failed; 11 ignored; 0 measured; 0 filtered out; finished in 7.14s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 7.59s; merged doctests compilation took 0.43s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "87a5d1d7a0d64271232086d4ea06cf8e6ea1012d9c5ebefe016d066529c1197e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87a5d1d7a0d64271232086d4ea06cf8e6ea1012d9c5ebefe016d066529c1197e", kill_on_drop: false }`
[INFO] [stdout] 87a5d1d7a0d64271232086d4ea06cf8e6ea1012d9c5ebefe016d066529c1197e
